# The following five lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.16)

if("${IDF_TARGET}" STREQUAL "linux")
    set(COMPONENTS main esp_netif lwip protocol_examples_tapif_io startup esp_hw_support esp_system nvs_flash)
endif()

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

project(udp_client)

execute_process(
    COMMAND ${CMAKE_C_COMPILER} -print-sysroot
    OUTPUT_VARIABLE SYSROOT
    OUTPUT_STRIP_TRAILING_WHITESPACE
)

set(CLANGD_CFG "")
string(APPEND CLANGD_CFG "CompileFlags:\n")
string(APPEND CLANGD_CFG "  Add: [-I${SYSROOT}/include]\n")
string(APPEND CLANGD_CFG "  Remove: [-mlongcalls, -fno-shrink-wrap, -fstrict-volatile-bitfields, -fno-tree-switch-conversion]\n")
file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/.clangd ${CLANGD_CFG})
